מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

Size: px
Start display at page:

Download "מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2"

Transcription

1 מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1

2 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2

3 לולאת while 3

4 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0) { printf( %d remain\n,number); number=number-1; } תנאי גוף הלולאה 4

5 לולאת while תרגיל 1: הדפיסו כמה פעמים ניתן לחלק מספר ב 2 שהתוצאה קטנה או שווה ל 1 לפני 5

6 לולאת while int number = 128, counter = 0; while(number>1) { } number/=2; counter++; printf( log2(%d)=%d\n,number, counter); תנאי גוף הלולאה מה הבעיה? 6

7 לולאת while int original_number = 128, counter=0; int number = original_number; while(number>1) { } number/=2; counter++; printf( log2(%d)=%d\n,original_number, counter); תנאי גוף הלולאה 7

8 קלט 8

9 - קלט scanf הפונקציה scanf קוראת ערך לתוך משתנה. קריאה פשוטה ל- scanf מתבצעת כך: שורה זאת קוראת ערך לתוך המשתנה x. בדומה ל- printf ניתן לקרוא יותר ממשתנה אחד: int x; scanf("%d", &x); scanf("%d%d", &a, &b); שימו לב לסימן ה-& לפני כל שם משתנה! סימן זה הוא חובה! את הסיבה לכך נבין בתרגולים מתקדמים 9

10 -scanf קלט לפקודה scanf() יש לציין איזה טיפוס של נתון אנו רוצים לקרוא מהמשתמש: שלם d% או שבר %lf (שימו לב להבדל מ- printf ). כאשר התוכנית מגיעה בזמן ריצה לפקודת,scanf() היא עוצרת ומציגה סמן מהבהב למשתמש. בשלב זה התוכנית מאפשרת למשתמש להקליד את הנתון, וכאשר הוא לוחץ על Enter הנתון שהוא הקליד מועבר לתוכנית. נתון זה מוכנס למשתנה שצוין, ואז התוכנית ממשיכה בריצתה. 10

11 קלט/פלט תרגיל 2: כתבו תוכנית הקולטת 2 מספרים מהמשתמש ומדפיסה את סכומם #include <stdio.h> int main() { printf( Please enter numbers:\n ); int x=88,y=19; scanf( %d%d, &x, &y); printf( The sum is: %d,x+y); return 0; } פלט: Please enter numbers: קלט: 10 2 פלט: The sum is: 12 11

12 קלט/פלט - הרחבה כישלון בקריאת הקלט + Input buffer בדיקת קלט EOF 12

13 כשלון של scanf int main() { int a=-1; scanf( %d, &a); printf( a=%d,a); return 0; } קלט: מה תדפיס התוכנית הבאה? ten 10,a תשובה: 1-=a התוכנית לא הצליחה לקרוא את משהו שהוא לא מספר! 13 כי הכנסנו

14 ערך החזרה של scanf איך נגלה אם קריאת הקלט הצליחה? תשובה: ע"י בדיקת ערך ההחזרה של.scanf ערך ההחזרה של scanf הוא מספר שלם המייצג את מספר הדגלים (%) ש- scanf הצליחה "לאכול". כלומר, מספר המשתנים ש scanf הצליחה לקלוט. 14

15 ערך החזרה של scanf אם הקריאה של דגל כלשהו נכשלה, לא יהיה ניסיון להמשיך ולקרוא את שאר הדגלים. דוגמאות לשימוש בערך ההחזרה של :scanf int res = scanf("%d", &x); שמירת הערך השוואת הערך לקבוע &x)==1) 1 if (scanf("%d", 15

16 scanf בדיקת ערך החזרה int main() { int a=-1,b=-1,c=-1; if(scanf( %d, &a)!=1){ printf( Error in a\n ); return 0; } if(scanf( %d%d, &b, &c)!=2){ printf( Error in b or c\n ); return 0; } } printf( a=%d,b=%d,c=%d, a,b,c); return 0; קלט: 10 twenty 30 פלט Error in b or c 16

17 בדיקת קלט כאשר אתם משתמשים ב- scanf בתרגילי הבית, עליכם לוודא שהיא הצליחה. ניתן לעשות זאת באמצעות בדיקת ערך ההחזרה שלה: למשל אם היא הייתה אמורה לקלוט 2 מספרים: if(scanf("%d%d",&d,&n)!=2){ printf( Error );... } 17

18 חוצץ הקלט Buffer) (Input מטרתנו כעת היא להבין כיצד עובדת קליטת קלט בעזרת.scanf לצורך כך, עלינו להכיר מושג חדש: חוצץ הקלט. חוצץ הקלט הוא אזור זיכרון המתוחזק ע"י מערכת ההפעלה. תפקידו הוא לשמור את קלט המשתמש עד אשר הוא נקרא ע"י התוכנית (או עד שהתוכנית מסתיימת) מערכת ההפעלה תפנה למשתמש (תחכה לקלט) רק כאשר החוצץ ריק. בתחילת התוכנית החוצץ תמיד ריק. 18

19 מה קורה אם נקליד שני מספרים? 10 9 משתמש Input Buffer מערכת הפעלה 10 9 scanf( %d,&num1);... scanf( %d,&num2); תוכנית 19

20 קלט שגוי היות כאשר החוצץיש ברגע וחוצץ אינו כאשר נתונים הקלט ריק! הנתון ריק, אולם שהמשתמש בחוצץ, הבא מקיש מערכת בתור קוראים scanf אינו ממנו,ENTER ההפעלה מדלגת את מתאים על פונה התווים הנתונים לטיפוס רווחים ל- stdin נכנסים לפי לבנים המבוקש לחוצץ הסדר (במקרה (רווח, ככל הזה בחוצץ) המקלדת) לקבלת קלט טאב, הקריאהוכו'), נכשלת פרט שניתן, כל (התוכןעוד למקרים שלהם (כולל שנקלטים המשתנה מתאימים תווים נשאר ה- ENTER!)או לטיפוס כשהיה מחרוזות המבוקש והנתון (c% או נשארs %) 10 a6 משתמש Input Buffer מערכת הפעלה 10 a6 scanf( %d,&num1);... scanf( %d,&num2); תוכנית 20

21 התקני הקלט והפלט הסטנדרטיים באופן רגיל :(scanf) מגיע מהמקלדת :(printf) מגיע למסך קלט סטנדרטי פלט סטנדרטי עם redirection קלט סטנדרטי פלט סטנדרטי (כמו שנלמד בתרגול 1) hw0q1.exe < input.txt > output.txt input.txt מהקובץ :(scanf) :(printf) לקובץ.output.txt התוכנית איננה יודעת בזמן הרצתה לאן מקושרים הקלט והפלט הסטנדרטים. זהו תפקידה של מערכת ההפעלה. 21

22 קריאה מקובץ והקבוע EOF כאשר קוראים מקובץ, הקלט יכול להגמר (לא יכול לקרות בקלט ממקלדת). במקרה כזה, scanf מחזירה את הקבוע.(End Of File) EOF if(scanf("%d%d",&d,&n)==eof){ printf( No input );... } כאשר הקלט מגיע מהמקלדת, ניתן להכניס סימן EOF מלאכותי בקלט באמצעות לחיצה על Ctrl+Z במקלדת Ctrl+D) במאכ). שימו לב! יש ללחוץ על Ctrl+Z בשורה חדשה במסך על מנת שיקלט.EOF 22

23 טיפוסי משתנים 23

24 טיפוסי משתנים אם משתנה הוא רצף סיביות בזיכרון, אזי טיפוס המשתנה היא הדרך לפרש את הסיביות (byte) לדוגמא: בית עבור unsigned int מתפרש כ " " " עבור int מתפרש כ " 24

25 משתנים וטיפוסי משתנים ישנם טיפוסים רבים בשפת C: שלמים: char, short, int, long, long long חיוביים: etc. unsigned char, unsigned short, שברים: float, double, long double טיפוסים שונים תופסים כמות זיכרון שונה. 25

26 משתנים וטיפוסי משתנים Type min max precision Size in memory* int unsigned double -1.79e e * (depend on number) 8 long long char הגודל המדוייק תלוי בחומרה ובמערכת ההפעלה הדיוק של שברים תלוי בערכם המדוייק הדיוק קטן) (ככול שהערך יותר גדול, 26

27 משתנים וטיפוסים תרגיל 2: קלטו 2 מספרים שלמים base ו,exp base exp (חזקה) התוכנית צריכה לטפל בתוצאות עד וחשבו

28 משתנים וטיפוסים long long pow=1; int base, exp; scanf( %d%d, &base, &exp); while( exp>0 ) { pow*=base; exp--; } printf( pow=%lld\n,pow); 28

29 משתנים וטיפוסים long long pow=1; int base, exp; scanf( %d%d, &base, &exp); while( exp>0 ) { pow*=base; exp--; } :long long printf( pow=%lld\n,pow); :int תוצאה כאשר pow מטיפוס תוצאה כאשר pow מטיפוס 29

30 Casting המרה - 30

31 המרת משתנים אוטומטית בשפת C ישנן פעולות רבות המערבות שני איברים: a>b a+=b a=b a*b a+b אם האיברים אינם מאותו הטיפוס, מתבצעת המרה אוטומטית. עבור פעולות השמה, הערך בצדו הימני של האופרטור מומר לטיפוסו של המשתנה שלתוכו כותבים. לכל יתר האופרטורים, הטיפוס עם תחום הייצוג הקטן יותר מומר לזה עם תחום הייצוג הגדול יותר, לפי הסדר הבא: char short int long float double long double 31

32 המרה אוטומטית סוף הסיפור? המרה אוטומטית אינה מתבצעת כשמשתמשים ב-() printf. במקרה זה יש לבצע המרה מכוונת. ומה לגבי התוכנית הבאה? int num1 = , num2 = ; double product = num1 * num2; מדוע זה עלול לא לעבוד? 32

33 המרה מכוונת (casting) המרת ערך כלשהו לטיפוס אחר נעשית על ידי כתיבת שם הטיפוס החדש בסוגריים, לפני הערך עצמו. למשל : int x = 2; printf("%f", (double)x ); double d = (double)3 / 2; מחזיר את ערכו של double כטיפוס x פעולת ההמרה לוקחת את הערך הנתון, ומחזירה עותק שלו מהטיפוס החדש (היא אינה משנה את הערך המקורי!). בדוגמה למעלה, x עצמו איננו משתנה כתוצאה מהפעולה. 33

34 דוגמאות ל- Casting int cake_num = 5, children = 3; double cake_per_child; כמות העוגה שיש לכל ילד: cake_per_child = (double)cake_num / children ; cake_per_child = cake_num / (double)children ; cake_per_child = (double)(cake_num / children); מה תהיה התוצאה? 34

35 טיפוסי משתנים - סיכום 0,1,435,-99 טיפוסים שונים :int מספרים שלמים, למשל: למשל: וכו' , 1.0, 1.2, וכו'. float, unsigned, long, long long, char, bool :double שברים, ועוד המון: המרה בין טיפוסים מפורשת,(double) או אוטומטית ועוד קלט ופלט: %d, %f, %lf 35

36 טיפוס char 36

37 לפענח char קצת אחרת... משתנה מסוג char (בית אחד). יכול לשמור אחד מ- 256 ערכים שונים A ישנה טבלה סטנדרטית (ASCII) להמרה בין 256 ערכים מספריים, לבין 256 תווים שונים. למשל, = 66 B A = 65, וכו'. כתיבת התו בין גרשיים נותנת את הערך המספרי שלו, לדוגמה: שם הטיפוס,char הוא קיצור ל- character זה. ורומז על שימוש 37

38 טבלת :ASCII ממספרים לתווים רווח הוא מס' 32 )ישנם תווים כגון lf, cr, eof שאינם ניתנים להדפסה ומייצגים תזוזות של הסמן או הגעה לסוף קלט וכד'( רק חצי מהטבלה מופיע כאן. כדי לראות את הטבלה המלאה חפשו Extended ASCII Table 38 מבוא למדעי המחשב מ' - תירגול 2

39 תכונות הטבלה הערכים המתאימים לתווים '9' '0' הם רציפים, ולפי סדר הספרות. הערכים המתאימים לתווים 'a'..'z' ולפי סדר הא"ב הרגיל. רציפים, כך גם הערכים המתאימים לתווים.'A' 'Z' 39

40 תווים תרגיל 3 א': כתבו תכנית המקבלת כקלט תו בודד ומדפיסה אותו ואת ערך ה- ASCII שלו. char c = 0; scanf(" %c", &c); printf("numeric value=%d, character=%c\n", c,c); הרווח כאן חשוב- פירושו שיש להתעלם מרווחים וממעברי שורה המופיעים בתחילת המשפט (התו שיכנס ל- c הוא התו הראשון שאינו רווח) 40

41 תווים 3 ב': כתבו תכנית הקולטת רצף תווים עד שהתקבל ומדפיסה כל תו ואת ערך ה- ASCII שלו (כולל הנקודה). תרגיל התו., char c = 0; scanf(" %c", &c); while (c!= '.') { printf("numeric value=%d, character=%c\n", c,c); scanf(" %c", &c); } printf("numeric value=%d, character=%c\n", c,c); הפלט יופיע רק לאחר הקשת.ENTER 41

42 תווים תרגיל 4: כתבו תכנית המקבלת כקלט אות קטנה בשפה האנגלית ומדפיסה אותה כאות גדולה. 42

43 תווים תרגיל 4: כתבו תכנית המקבלת כקלט אות קטנה בשפה האנגלית ומדפיסה אותה כאות גדולה. char c; scanf(" %c", &c); c = (c- a )+ A ; printf("%c", c); 43

44 תווים תרגיל 5: כתבו תכנית המקבלת כקלט אות קטנה בשפה האנגלית ומדפיסה את האות העוקבת לה (העוקבת של z היא a). 44

45 תווים לפני main תרגיל 5: כתבו תכנית המקבלת כקלט אות קטנה בשפה האנגלית ומדפיסה את האות העוקבת לה (העוקבת של z היא a). #define NUM_LETTERS ( z - a +1) קטע קוד מתוך הפונקציה main char c; scanf(" %c", &c); c = (c- a ); c = (c+1)% NUM_LETTERS; c += a ; 45 printf("%c", c);

46 תווים תרגיל 6: כתבו מחשבון תכנית המקבלת מספר, פעולת חשבון (חיבור/חיסור/כפל/חילוק) ומספר, מחשבת ומדפיסה את ערך הביטוי. 46

47 תווים char c = 0; int op1 = 0, op2 = 0, res = 0; scanf( %d %c %d, &op1, &c, &op2); switch(c){ } case + : res = op1+op2; break; case - : res = op1-op2; break; case * : res = op1*op2; break; case / : res = op1/op2; break; default: printf( error: unknown operation ); return 1; printf( %d%c%d=%d\n, op1, c, op2, res); 47

48 תווים - סיכום הטיפוס char מכיל מספר בין 0 ל 255 מקביל לתווים ע"י טבלת ASCII קבועי תווים ( A ) הדפסה באמצעות,d% c% 48

49 טיפוסי משתנים - תרגילים 49

50 מהו ערכו וטיפוסו של הביטוי? ביטוי טיפוס ערך 5-4 int 1 1 / 2 int 0 1 / 2. double 0.5 (double)1 / 2 double 0.5 (double)(1 / 2) double 0.0 'A' + 3 int 'D' (= 68,ONLY if ASCII) 'Z' - 1 int 'Y' (= 89, ONLY if ASCII) 'Z' - 'A' + 'a' int 'z' 'E' + 4*('b'-'c') int 'A' 50

51 מהו ערכו וטיפוסו של הביטוי? [כאשר יש יותר מביטוי אחד, התיחסו לביטוי הצהוב] char c; int i הניחו שהמשתנים הבאים הוגדרו: תופעות לוואי ערך טיפוס ביטוי c = 'G'; i = 3; (double)i/(c-'e') i = 5.7; i = 5.2; (double)i 51

52 מהו ערכו וטיפוסו של הביטוי? [כאשר יש יותר מביטוי אחד, התיחסו לביטוי הצהוב] char c; int i הניחו שהמשתנים הבאים הוגדרו: תופעות לוואי ערך טיפוס ביטוי c = 'G'; i = 3; (double)i/(c-'e') double 1.5 c 'G' i 3 i = 5.7; int 5 i 5 i = 5.2; int 5 i 5 (double)i double i אין! בפרט, i לא השתנה! 52

53 אופרטורים 53

54 אופרטורים אופרטור הוא פעולה של C, המקבלת ערך יחיד או זוג ערכים, ומחזירה ערך כלשהו. אופרטור אונארי אופרטור בינארי operator) (unary מקבל ערך יחיד. operator) (binary מקבל זוג ערכים. ישנם מספר אופרטורים המשנים את הערכים שהם מקבלים. השפעה זו נקראת תוצאת לוואי (side-effect) של האופרטור. 54

55 אופרטורים בינאריים פעולות חשבון: a+b a-b a*b a/b a%b השוואות: a==b a!=b a<b a>b a<=b a>=b a && b a b פעולות לוגיות: השמות: a=b a+=b a-=b a*=b a/=b 55

56 אופרטורים אונאריים -a (double)num מינוס מתמטי: :casting אופרטורי קידום: a++ a-- ++a --a 56

57 דוגמאות int x = 5, y = 0; x = 5, y = 0 y = -x + x ; y = ++x + 7 ; y = x++ + 3; x = 6, y = 13 x = 7, y = 9 y = ++x + x++ ; מה לדעתכם יקרה פה? 57

58 דוגמאות int x=0, y=5; while(x++<y){ } printf( %d,x); מה יודפס? int x=0, y=5; while(++x<y){ printf( %d,x); } ומה עכשיו? 58

מבוא למדעי המחשב תירגול 3:

מבוא למדעי המחשב תירגול 3: מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while

More information

Algorithms. Intro2CS week 5

Algorithms. Intro2CS week 5 Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות

More information

מבוא לתכנות ב- JAVA מעבדה 2

מבוא לתכנות ב- JAVA מעבדה 2 מבוא לתכנות ב- JAVA מעבדה 2 מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p

More information

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור

More information

Engineering Programming A

Engineering Programming A Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]

More information

קורס תכנות שיעור שני: שימוש במשתנים,

קורס תכנות שיעור שני: שימוש במשתנים, קורס תכנות שיעור שני: שימוש במשתנים, בקרת זרימה, לולאות 1 נושאי השיעור היום משתנים )variables( טיפוסי משתנים בשפת C הגדרת משתנים השמה למשתנים פעולות על משתנים קליטת ערכים מהמשתמש הדפסה משתנים בקרת זרימה

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic

More information

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון. מבוא לתכנות תוכנית ראשונה שעור מס. 1 דרור טובי דר' 1 מבוא לתכנות בשפת ++C C \ שלום!! מרצה ד"ר דרור טובי, drorto@ariel.ac.il שעות קבלה: יום ב, 10-12 טלפון )אריאל( 03 9076547 אתר הקורס: http://www.ariel.ac.il/cs/pf/tdror/courses/cpp

More information

תרגילים ופתרונות בשפת - C הסתעפויות

תרגילים ופתרונות בשפת - C הסתעפויות תרגילים ופתרונות בשפת - C הסתעפויות כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית שתקבל מהמשתמש שלושה מספרים, ותציג את הגדול מביניהם על המסך. #include void main() int mis1, mis2, mis3, max; printf("please

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה

More information

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C מבוא למדעי המחשב צעדים הרצאה 2: ראשונים בשפת C מבוסס על שקפים שנערכו ע"י שי ארצי, גיתית רוקנשטיין ז"ל, איתן אביאור, סאהר אסמיר,מיכאל אלעד, רון קימל ודן רביב. עדכון אחרון: יחיאל קמחי, אוקטובר 2014 תוכנייה

More information

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו

More information

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

פתרון מוצע לבחינת מהט ב_שפת c מועד אביב תשעח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות שאלה מספר 1 התוכנית מגדירה חמישה משתנים שלמים: השלושה הראשונים הם שלושה מצביעים - *s *t,i. j ושלושה נוספים

More information

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה

More information

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

מבוא למדעי המחשב תרגול 5: לולאות ומערכים מבוא למדעי המחשב תרגול 5: לולאות ומערכים תוכנייה לולאת while, do while, for מערכים מערכים דו ממדיים 2 לולאות 3 תזכורת: לולאת while גוף הלולאה מתבצע שוב ושוב כל עוד התנאי מתקיים int number; scanf( %d, &number);

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד

More information

תוכנה 1 טיפוסי השפה טיפוסים לא פרימיטיביים הטיפוסים הפרימיטיביים מחרוזות המרה למספרים תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות

תוכנה 1 טיפוסי השפה טיפוסים לא פרימיטיביים הטיפוסים הפרימיטיביים מחרוזות המרה למספרים תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות טיפוסי השפה תוכנה 1 תרגול 2: טיפוסי שפה, מחרוזות, מערכים ושגיאות טיפוסים יסודיים (פרימיטיביים): 8 טיפוסים מוגדרים בשפה שמיועדים להכיל ערכים פשוטים: מספרים שלמים: byte, short, int, long מספרים ממשיים: float,

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

Introduction to Programming in C תרגול 8

Introduction to Programming in C תרגול 8 Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num) 1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי

More information

מבוא למדעי המחשב תרגול 13: עצים בינאריים

מבוא למדעי המחשב תרגול 13: עצים בינאריים מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר

More information

מבוא לתכנות ב- JAVA תרגול 6

מבוא לתכנות ב- JAVA תרגול 6 מבוא לתכנות ב- JAVA תרגול 6 מה בתרגול )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מבוא לפונקציות- שימוש חוזר בקוד נניח שבמהלך תוכנית נדרשתם לחשב את הסכום של המספרים

More information

קורס תכנות שיעור שישי: מחרוזות, מצביעים

קורס תכנות שיעור שישי: מחרוזות, מצביעים קורס תכנות שיעור שישי: מחרוזות, מצביעים מערכים אוסף סדור של משתנים מאותו סוג המשתנים נמצאים ברצף בזיכרון העברת מערך לפונקציה Define רקורסיה במערך מערכים דו מימדיים 2 מחרוזות מהי מחרוזת? רצף של תוים ייצוג

More information

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. Type Inference System The Type Inference System is a Scheme Implementation of the algorithm for Type Checking and Inference

More information

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices

More information

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start

More information

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time

More information

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3

מבוא לתכנות ב- JAVA מעבדה 3. Ipc161-lab3 מבוא לתכנות ב- JAVA מעבדה 3 Ipc161-lab3 נושאי התרגול ניפוי שגיאות לולאות בדיקת תרגילים בקורס )השוואת פלטים למול הפתרון המצופה( כיצד להפנות את פלט התוכנית לקובץ טקסט איך להשוות תכנים של שני קבצים בעזרת

More information

תרגול 3 מערכים ופונקציות

תרגול 3 מערכים ופונקציות מבוא למדעי המחשב 2017 תרגול 3 מערכים ופונקציות מערכים מאפשרים עבודה עם מקבצים של נתונים פונקציות מאפשרות אבסטרקציה והאחדה של הקוד ראינו בהרצאה מערכים הצהרה, אתחול, גישה לאיברים במערך יצוג בזיכרון ובטבלת

More information

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> } נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע

More information

דף הדרכה ליצירת שרת/ לקוח עם GUI

דף הדרכה ליצירת שרת/ לקוח עם GUI דף הדרכה ליצירת שרת/ לקוח עם GUI בשיעורים הקודמים למדנו כיצד ליצור שרת לקוח פשוט, ויצירת טופס המכיל פקדים כלומר יצירת GUI למשתמש, בשיעור זה נרצה להראות את הדרך לשילוב בין השניים כלומר ליצור לקוח client

More information

Tutorial 10. Introduction to C++ שימו

Tutorial 10. Introduction to C++ שימו Introduction to ++ שימו תרגול זה אינו התרגול הרישמי של הקורס. הוא מבוסס על חוברת התרגולים אך מכיל שינויים, הסברים נוספים ודוגמאות שונות או נוספות. + + תוכנ ית רא שונה ב הכרו ת עם + + תרגול // First ++

More information

תוכנה 1 תרגול 2: מערכים ומבני בקרה

תוכנה 1 תרגול 2: מערכים ומבני בקרה תוכנה 1 תרגול 2: מערכים ומבני בקרה 2 Useful Eclipse Shortcuts Ctrl+1 quick fix for errors, or small refactoring suggestions Ctrl+SPACE code content assist (auto-completion) Auto completion for main create

More information

Programming in C תרגול 8

Programming in C תרגול 8 Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאת זיכרון דינאמית Malloc free מצביעים תאור הזיכרון של המחשב: ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

תוכנה 1 סמסטר א' תשע"א

תוכנה 1 סמסטר א' תשעא General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with

More information

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 14 1 תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

תרגול מספר 3: מערכים

תרגול מספר 3: מערכים היום בתרגול:.1.2 תרגול מספר 3: מערכים מערך חד-מימדי: מה זה מערך ולמה צריך אותו? איך מגדירים? איך זה נראה בזכרון? דוגמאות לשימוש במערך חד-מימדי השוואה בין משתנה פרימיטיבי למשתנה שאינו פרימיטיבי מערך דו-מימדי:

More information

Practical Session - Heap

Practical Session - Heap Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים

More information

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5

More information

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose

More information

תרגול מס' 5: IO )קלט-פלט(

תרגול מס' 5: IO )קלט-פלט( תוכנה 1 אוניברסיטת תל אביב תרגול מס' 5: IO )קלט-פלט( זרמי קלט וזרמי פלט Streams(,(Input & Output קוראים וכותבים, והשימוש בהם לצורך עבודה עם קבצים 2 Input/Output in Java פעולות קלט-פלט הן רכיב מרכזי בכל

More information

חוברת תרגילים לתרגול יסודות התכנות

חוברת תרגילים לתרגול יסודות התכנות פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים - תזכורת מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות )חתימות(. מימוש דיפולטיבי

More information

פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה

פתרון מוצע לבחינה בשפת C של מהט מועד אביב תשעז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה שאלה מספר 1 נתונה התכנית הבאה בשפת C: #include #define SUM_OF_3(x,y,z) x+y+z #define AVRG_OF_3(x,y,z)

More information

Computer Programming A תרגול 9

Computer Programming A תרגול 9 Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים

More information

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf(bla\n); 8. return 0; 9. } שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא

More information

מבוא לשפת סי סוגי לולאות שבוע שעבר... תוכנייה. לולאת while דוגמא: קליטת מספר חיובי ד'/כסלו/תשע "ב. משפטי if משפטי switch סוגי לולאות בשפת C דוגמאות

מבוא לשפת סי סוגי לולאות שבוע שעבר... תוכנייה. לולאת while דוגמא: קליטת מספר חיובי ד'/כסלו/תשע ב. משפטי if משפטי switch סוגי לולאות בשפת C דוגמאות מבוא לשפת C תירגול 6: לולאות שבוע שעבר משפטי if משפטי switch 2 תוכנייה סוגי לולאות סוגי לולאות בשפת C ברמת התקשורת עם המחשב מאפשר לחזור שוב ושוב על אותה סדרת פעולות ללא שיכפול קוד ברמת התקשורת האנושית

More information

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13 1 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 ו- HASHCODE EQUALS 3 תזכורת: המחלקה Object package

More information

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13 1 2 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( ו- HASHCODE EQUALS חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 3 4 package java.lang; תזכורת: המחלקה

More information

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: שאלות חזרה למבחן. חשוב: אין להסיק ששאלות אחרות לא יכולות להישאל במבחן, אין להסיק כי נושאים מסויימים בסיליבוס

More information

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים

More information

גירסה

גירסה גירסה 1.00 29.02.2004 לולאות בשפת C מסמך זה הורד מהאתר.http://underwar.livedns.co.il אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש

More information

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C בשיעור הקודם למדנו על רקורסיה פתרנו את בעיית מגדלי הנוי בעזרת רקורסיה כלומר בעזרת פונקציה שקוראת לעצמה. רקורסיה מאפשרת לנו לפתור בעיה "גדולה" בעזרת פתרון של בעיות "קטנות" המרכיבות אותה. קורס תכנות שיעור

More information

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5 מבוא לתכנות ב- JAVA תרגול 5 Ipc161- practical session 5 מה בתרגול מערכים דו ממדיים )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מערך דו ממדי מערך של מערכים חד ממדיים

More information

תרגול 3 מערכים ופונקציות

תרגול 3 מערכים ופונקציות מבוא למדעי המחשב 2018 תרגול 3 מערכים ופונקציות מערכים מאפשרים עבודה עם מקבצים של נתונים פונקציות מאפשרות אבסטרקציה והאחדה של הקוד ראינו בהרצאה מערכים הצהרה, אתחול, גישה לאיברים במערך יצוג בזיכרון ובטבלת

More information

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h> תכנות בסיסי בשפת C תוכנית ראשונה תוכנית ב - C מורכבת מאוסף פונקציות והגדרות טיפוסים. C איננה שפה object oriented כך שאין בה מושגים של מחלקה ואובייקט. נתחיל בתוכנית הראשונה המסורתית, זו המדפיסה הודעה יחידה

More information

ASP.Net Web API.

ASP.Net Web API. ASP.Net Web API 1 מה זה? Web API View בלבד ולא Data אותו מממש השרת והוא מחזיר לקליינט API הוא Web API הבקשה והתשובה הן בפרוטוקול Http\Https הקליינטים של Web API יכולים להיות רבים : אפשר להשתמש גם בMVC

More information

Amortized Analysis, Union-Find,

Amortized Analysis, Union-Find, Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

מבוא לתכנות ב- JAVA מעבדה 4

מבוא לתכנות ב- JAVA מעבדה 4 מבוא לתכנות ב- JAVA מעבדה 4 מה בתרגול מערכים מחרוזות מערך חד מימדי מערך הוא מבנה המחזיק סדרה של איברים מאותו טיפוס גודל המערך הוא קבוע )נקבע בעת יצירת המערך( הגישה לכל איבר היא באמצעות אינדקס למה לי מערך?

More information

שאלה 1 מהו הפלט של התוכנית הבאה:

שאלה 1 מהו הפלט של התוכנית הבאה: תרגול חזרה שאלה 1 מהו הפלט של התוכנית הבאה: public sttic int wht(int n) { int i; int sum=0; if(n == 0) return 1; for (i=0; i

More information

רזח יליגרתו םי יראני ב ם

רזח יליגרתו םי יראני ב ם מבוא למדעי המחשב עצים בינאריים ותרגילי חזרה תרגול 13: עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק )בלי צמתים( או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם שאלה עץ בינארי

More information

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כה תשרי תשעח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א' אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

More information

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:

More information

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:

More information

תכנות מונחה עצמים משחקים תשע"ו

תכנות מונחה עצמים משחקים תשעו move semantics 1 תכנות מונחה עצמים ופיתוח משחקים תשע"ו סמנטיקת ההעברה semantics( )Move move semantics 2 מטרה האצה של התוכניות, שיפור בביצועים על ידי חסכון בבנייה והעתקה של אובייקטים זמניים move semantics

More information

הקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא

הקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא ת כו נו ת ברמת ה מחלקה (static members) אוהד ברזילי תכנות מ תקד ם בשפת Java אוניברסיטת ת ל אביב static keyword שדות המוגדרים כ static מציינים כי הם מוגדרים ברמת המחלקה ולא ברמת עצם כל העצמים של אותה מחלקה

More information

פרק 15 טיפוס חדש: מבנים שימוש במבנים שימוש במבנים שימוש במבנים

פרק 15 טיפוס חדש: מבנים שימוש במבנים שימוש במבנים שימוש במבנים פרק 15 ב- C מבנים טיפוס חדש: מבנים 1 מבנה (structure) הוא טיפוס מורכב בשפת C (בניגוד לטיפוס בסיסי). זהו טיפוס שמיועד לאיחוד קבוצת משתנים תחת שם אחד. משתנים אלו נקראים השדות של המבנה, והם יכולים להיות מטיפוסים

More information

Nir Adar

Nir Adar שפת Java למתכנתי ++C - חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information

תרגילים ופתרונות בשפת C

תרגילים ופתרונות בשפת C תרגילים ופתרונות בשפת C הדפסה, קלט פלט משתנים כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית המדפיסה את המשפט: * C * I Love כאשר לפניו שורת כוכביות ואחריו שורת כוכביות. int main() printf("************\n");

More information

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays מערכים Array: A fixed-length data structure for storing multiple values of the same type תוכנה 1 Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds: 1 3 5 7 9 11 13 15 odds.length

More information

תכנות מתקדם בשפת C משתנים

תכנות מתקדם בשפת C משתנים תכנות מתקדם בשפת C משתנים 1 משתנים סוגי משתנים בשפת C ההבדלים בין סוגי המשתנים השונים 2 /* This program computes m to the power of n */ /* Assumptions: m is an integer; n is a positive integer */ #include

More information

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה תוכנה 1 3 תרגול מס' מערכים ומבני בקרה מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds:

More information

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור &

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור & כתובות בזיכרון קורס תכנות int x = 10; char c = a ; 10 784658 'a' 26537 שם x כתובת 784658 שיעור שביעי: מבנים, הקצאת זיכרון דינאמית 26537 c 1 הגדרת מצביע variable( )pointer כתובות בזכרון האופרטור & מחזיר

More information

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization מערכים תוכנה 1 Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 תרגול 2: מערכים

More information

Exams questions examples

Exams questions examples Exams questions examples 1 Exam example 1. y - x what נק' ( לפניך הפעולה הרקורסיבית מקבלת כפרמטרים שני מספרים שלמים ו 10 )? מה יהיה הפלט כתוצאה מזימון הפעולה what public static int what(int x, int y) if(x

More information

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp) הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2

More information

Smart Pointers Nir Adar

Smart Pointers Nir Adar 7.1.2005 גירסה 1.00 Smart Pointers מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information

תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java

תוכנה 1. תרגול 1: סביבת העבודה ומבוא ל- Java תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1718b/ מתרגלים: ברית יונגמן )שעת קבלה: רביעי ב- 9:00 בתיאום מראש( שי גרשטיין )שעת קבלה: רביעי ב- 18:00,

More information

מבוא למדעי המחשב תרגול 12 מחסנית )Stack( memoization

מבוא למדעי המחשב תרגול 12 מחסנית )Stack( memoization מבוא למדעי המחשב 2017 תרגול 12 מחסנית )Stack( memoization בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי משולש Pascal לא רקורסיבי memoization דוגמאות שימוש: בעיית העודף תזכורת: מחסנית :)stack( מבנה

More information

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1 קורס תכנות שיעור תשיעי: רשימות מקושרות 1 הקצאה דינאמית של מערכים דו-ממדיים )לפחות( שלוש גישות אפשריות:.1 מערך של מערכים מצביעים לתוך מערך "גדול".2 3. מצביע יחיד למערך גדול 2 The Interface 3 (Simple) Usage

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

שפת XML הפכה להיות נפוצה ובעלת תפקידים רבים, במיוחד עקב גמישותה הרבה:

שפת XML הפכה להיות נפוצה ובעלת תפקידים רבים, במיוחד עקב גמישותה הרבה: שעור extensible Markup Language - XML 11 XML היא שפת סימון בדומה ל- HTML, גם XML היא שפת סימון. XML איננה שפת תכנות שמאפשרת פיתוח תכניות אשר מבצעות פעולות חישוב. בדומה ל- HTML גם XML מורכבת, למעשה, מתגיות

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר

More information

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator

More information

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן. מספר : 804042 שם המרצה: תאריך הבחינה: ד"ר גדעון גרדוול, ד"ר אריאלה ריכרדסון 13/02/2013 משך הבחינה )בדקות(: 150 חומר עזר מותר לשימוש: ללא חומר עזר מחשבון: ללא מחשבון מס' תלמיד: מכון: לב/נוה, טל, טל-דעת,

More information

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService {

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService { Simple Web Service WS פתיחת פרוייקט File New Project ASP.Net web service project - >http://localhost/webservice1 יצירת שירות המחשב חיבור וחילוק 2 מספרים : הטיפוסים הבסיסיים using System; איסוף וניהוף אוספי

More information

Computer Programming Summer 2017

Computer Programming Summer 2017 Computer Programming Summer 2017 תרגול 6 פונקציות 1 פונקציות פונקציות מאפשרות שימוש בקטעי קוד כקופסה שחורה ללא צורך לדעת את פרטי המימוש )מספיק לדעת מה עושה הפונקציה ולא איך(. למשל: הפונקציה strlen מהתירגול

More information

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** *******************************

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** ******************************* דוגמה 1: public class Hello { 2: public static void main(string[] args) { 3: System.out.println("*******************************"); 4: System.out.println("*******Welcome to Java!********"); 5: System.out.println("*******************************");

More information

The single cycle CPU

The single cycle CPU The single cycle CPU [2 0] Shift Jump address [31 0] left 2 26 28 0 1 Add + [31 28] [31 26] Control RegDst Jump Branch MemRead MemtoReg Op MemWrite Src RegWrite Shift left 2 Add result M u x 1 0 M u x

More information

היצביט ומ - ןוכית ת וי נבת

היצביט ומ - ןוכית ת וי נבת תבני ו ת תיכון Patterns) (Design תבנ יו ת תיכון - מו טיבציה בחיי היום יום אנחנו מתארים דברים תוך שימוש בתבניות חוזרות: "מכונית א' היא כמו מכונית ב', אבל יש לה 2 דלתות במקום 4" "אני רוצה ארון כמו זה, אבל

More information

Practical Session No. 14 Topological sort,amortized Analysis

Practical Session No. 14 Topological sort,amortized Analysis Practical Session No. 14 Topological sort,amortized Analysis Topological- Sort Topological sort Ordering of vertices in a directed acyclic graph (DAG) G=(V,E) such that if there is a path from v to u in

More information

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes תוכנה 1 תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes class Outer { static class NestedButNotInner {... class Inner {... מחלקות מקוננות NESTED CLASSES 2 מחלקה מקוננת Class) )Nested

More information

תוכנה 1. תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1. תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 19,

More information

Operating Systems. Practical Session 4 Threads

Operating Systems. Practical Session 4 Threads Operating Systems Practical Session 4 Threads 1 Threads Executed within a process. Allow multiple independent executions under the same process (container). Possible states: running, ready, blocked, terminated.

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

מבוא למדעי המחשב 2018 תרגול 7

מבוא למדעי המחשב 2018 תרגול 7 מבוא למדעי המחשב 2018 תרגול 7 רשימות משורשרות, רקורסיית זנב 1 ראינו בהרצאה רשימות משורשרות רקורסיית זנב 2 בתרגול היום רשימות משורשרות עוד שיטות מחלקה רקורסיית זנב היפוך מחרוזות, חיפוש בינארי 3 רשימות משורשרות

More information